package com.ynet.middleground.contract.bean;

import java.util.List;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description PDF 文件人脸意愿签署请求类
 * @date 2020-04-20 09:53
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "PDF 文件人脸意愿签署请求类", description = "PDF 文件人脸意愿签署请求类，使用 e 签宝证书")
public class SignPdfWithWillnessReq extends EnterpriseBaseReqObj {

    private static final long serialVersionUID = -3887977680524360614L;

    @ApiModelProperty(value = "意愿签署操作人账号信息", notes = "意愿签署操作人账号信息", required = true)
    @NotNull(message = "意愿签署操作人账号信息不能为空")
    private WillnessInfoBean willnessInfo;

    @ApiModelProperty(value = "签署主体账号（悟空SDK产品创建的账户，即实际的签署方账户，可为个人/企业用户账号），将使用本账号绑定的默认数字证书进行签署。",
        notes = "签署主体账号（悟空SDK产品创建的账户，即实际的签署方账户，可为个人/企业用户账号），将使用本账号绑定的默认数字证书进行签署。", dataType = "String", required = true)
    @NotEmpty(message = "签署主体账号不能为空")
    private String signAccountId;

    @ApiModelProperty(value = "签署信息", notes = "签署信息", required = true)
    @NotNull(message = "签署信息不能为空")
    private List<SigningInfoBean> signInfos;

    @ApiModelProperty(value = "场景描述", notes = "场景描述", dataType = "String")
    private String sceneDesc;

}
